﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using vudu.Presentacion.Contrato.VU_02_Gestionar_Escuelas;
using vudu.Logica.Fachada;
using System.Text.RegularExpressions;
using vudu.ClasesDominio;
using System.Data;

namespace vudu.Presentacion.Presentador.VU_02_Gestionar_Escuelas
{
    public class PresentadorModificarEscuela
    {
        public IContratoModificarEscuela _vistaConsultar;
        private EnlaceLogico _fachada;
        private List<Escuela> _listaDeEscuelas;
        private String _mensajeErrorBd = "Operación Fallida: Error en base de datos";
        private System.Drawing.Color _colorMensajeError = System.Drawing.Color.Red;
        private Universidad _uni;
        //private List<Escuela> consultarEscuelas;


        public PresentadorModificarEscuela(IContratoModificarEscuela vistaConsultar, EnlaceLogico fachada)
        {
            _vistaConsultar = vistaConsultar;
            _fachada = fachada;
        }
        //Se consulta la lista de escuelas activas
        public void ConsultarEscuelas()
        {
            List<Escuela> _listaDeEscuelas = new List<Escuela>();
            _uni = (Universidad)_fachada.RolActual;
            _listaDeEscuelas = _fachada.ConsultarListaEscuela(_uni.Nombre);
            _vistaConsultar.Usuario.Text = _uni.Nombre;
            //Se carga las Escuelas en la tbala
            if (_listaDeEscuelas.Count != 0)
            {//agregue esto
                CargarTabla(_listaDeEscuelas);
            }
            else
            {
                _vistaConsultar.MensajeError.Text = _mensajeErrorBd;
                _vistaConsultar.MensajeError.ForeColor = _colorMensajeError;
                _vistaConsultar.MensajeError.Visible = true;
            }

        }
        // consulto el nombre de la escuela  que se eligio para ponerla en el Session
        public int ConsultarEscuela()
        {
            int idEscuelaIndividual;
            //obtengo una lsita de escuelas
            _uni = (Universidad)_fachada.RolActual;
            _listaDeEscuelas = _fachada.ConsultarListaEscuela(_uni.Nombre);
            int Seleccion = (_vistaConsultar.ConsultarEscuelas.PageIndex * 8) + _vistaConsultar.ConsultarEscuelas.SelectedIndex;
            
            idEscuelaIndividual = _listaDeEscuelas[Seleccion].IdEscuela;
            //nombreEscuelaIndividual = _vistaConsultar.ConsultarEscuelas.SelectedRow.Cells[1].Text;
            return idEscuelaIndividual;
        }
        //Cargo las escuelas al gridview
        public void CargarTabla(List<Escuela> listaDeEscuelas)
        {
            DataTable tabla = new DataTable();
            tabla.Columns.Add("Escuela", typeof(string));
            tabla.Columns.Add("Director", typeof(string));
            tabla.Columns.Add("Telefono", typeof(string));
            foreach (Escuela escuela in listaDeEscuelas)
            {
                String nombreEscuela = escuela.NombreEscuela;
                if (nombreEscuela != null)
                {
                    tabla.Rows.Add(escuela.NombreEscuela, escuela.DirectorEscuela,
                    escuela.TelefonoEscuela);

                }
            }
            _vistaConsultar.ConsultarEscuelas.DataSource = tabla;
            _vistaConsultar.ConsultarEscuelas.DataBind();
        }
    }
}